import 'package:flutter/cupertino.dart';
import 'package:get/get.dart';

import '../../../../store/sys_store.dart';
import '../../home/controllers/home_controller.dart';

class SetupsController extends GetxController {


  SysStore sysStore = SysStore();

  TextEditingController baseUrl = TextEditingController();


  List speechSource = [
    { 'value': 'cmn', 'label': '汉语' },
    { 'value': 'eng', 'label': '英语' },
    { 'value': 'deu', 'label': '德语' },
    { 'value': 'fra', 'label': '法语' },
    { 'value': 'yue', 'label': '粤语' },
    { 'value': 'afr', 'label': '南非荷兰语' },
    { 'value': 'amh', 'label': '阿姆哈拉语' },
    { 'value': 'arb', 'label': '现代标准阿拉伯语' },
    { 'value': 'ary', 'label': '摩洛哥阿拉伯语' },
    { 'value': 'arz', 'label': '埃及阿拉伯语' },
    { 'value': 'asm', 'label': '阿萨姆语' },
    { 'value': 'ast', 'label': '阿斯图里亚斯语' },
    { 'value': 'azj', 'label': '北阿塞拜疆语' },
    { 'value': 'bel', 'label': '白俄罗斯语' },
    { 'value': 'ben', 'label': '孟加拉语' },
    { 'value': 'bos', 'label': '波斯尼亚语' },
    { 'value': 'bul', 'label': '保加利亚语' },
    { 'value': 'cat', 'label': '加泰罗尼亚语' },
    { 'value': 'ceb', 'label': '宿务语' },
    { 'value': 'ces', 'label': '捷克语' },
    { 'value': 'ckb', 'label': '中库尔德语' },
    { 'value': 'cym', 'label': '威尔士语' },
    { 'value': 'dan', 'label': '丹麦语' },
    { 'value': 'ell', 'label': '希腊语' },
    { 'value': 'est', 'label': '爱沙尼亚语' },
    { 'value': 'eus', 'label': '巴斯克语' },
    { 'value': 'fin', 'label': '芬兰语' },
    { 'value': 'gaz', 'label': '西中奥罗莫语' },
    { 'value': 'gle', 'label': '爱尔兰语' },
    { 'value': 'glg', 'label': '加利西亚语' },
    { 'value': 'guj', 'label': '古吉拉特语' },
    { 'value': 'heb', 'label': '希伯来语' },
    { 'value': 'hin', 'label': '印地语' },
    { 'value': 'hrv', 'label': '克罗地亚语' },
    { 'value': 'hun', 'label': '匈牙利语' },
    { 'value': 'hye', 'label': '亚美尼亚语' },
    { 'value': 'ibo', 'label': '伊博语' },
    { 'value': 'ind', 'label': '印尼语' },
    { 'value': 'isl', 'label': '冰岛语' },
    { 'value': 'ita', 'label': '意大利语' },
    { 'value': 'jav', 'label': '爪哇语' },
    { 'value': 'jpn', 'label': '日语' },
    { 'value': 'kam', 'label': '坎巴语' },
    { 'value': 'kan', 'label': '卡纳达语' },
    { 'value': 'kat', 'label': '格鲁吉亚语' },
    { 'value': 'kaz', 'label': '哈萨克语' },
    { 'value': 'kea', 'label': '佛得角克里奥尔语' },
    { 'value': 'khk', 'label': '哈尔哈蒙古语' },
    { 'value': 'khm', 'label': '高棉语' },
    { 'value': 'kir', 'label': '吉尔吉斯语' },
    { 'value': 'kor', 'label': '韩语' },
    { 'value': 'lao', 'label': '老挝语' },
    { 'value': 'lit', 'label': '立陶宛语' },
    { 'value': 'ltz', 'label': '卢森堡语' },
    { 'value': 'lug', 'label': '干达语' },
    { 'value': 'luo', 'label': '路奥语' },
    { 'value': 'lvs', 'label': '拉脱维亚语' },
    { 'value': 'mai', 'label': '迈蒂利语' },
    { 'value': 'mal', 'label': '马拉雅拉姆语' },
    { 'value': 'mar', 'label': '马拉地语' },
    { 'value': 'mkd', 'label': '马其顿语' },
    { 'value': 'mlt', 'label': '马耳他语' },
    { 'value': 'mni', 'label': '梅泰语' },
    { 'value': 'mya', 'label': '缅甸语' },
    { 'value': 'nld', 'label': '荷兰语' },
    { 'value': 'nno', 'label': '挪威尼诺斯克语' },
    { 'value': 'nob', 'label': '挪威博克马尔语' },
    { 'value': 'npi', 'label': '尼泊尔语' },
    { 'value': 'nya', 'label': '尼扬扎语' },
    { 'value': 'oci', 'label': '奥克语' },
    { 'value': 'ory', 'label': '奥里亚语' },
    { 'value': 'pan', 'label': '旁遮普语' },
    { 'value': 'pbt', 'label': '南普什图语' },
    { 'value': 'pes', 'label': '西波斯语' },
    { 'value': 'pol', 'label': '波兰语' },
    { 'value': 'por', 'label': '葡萄牙语' },
    { 'value': 'ron', 'label': '罗马尼亚语' },
    { 'value': 'rus', 'label': '俄语' },
    { 'value': 'slk', 'label': '斯洛伐克语' },
    { 'value': 'slv', 'label': '斯洛文尼亚语' },
    { 'value': 'sna', 'label': '绍纳语' },
    { 'value': 'snd', 'label': '辛德语' },
    { 'value': 'som', 'label': '索马里语' },
    { 'value': 'spa', 'label': '西班牙语' },
    { 'value': 'srp', 'label': '塞尔维亚语' },
    { 'value': 'swe', 'label': '瑞典语' },
    { 'value': 'swh', 'label': '斯瓦希里语' },
    { 'value': 'tam', 'label': '泰米尔语' },
    { 'value': 'tel', 'label': '泰卢固语' },
    { 'value': 'tgk', 'label': '塔吉克语' },
    { 'value': 'tgl', 'label': '塔加拉语' },
    { 'value': 'tha', 'label': '泰语' },
    { 'value': 'tur', 'label': '土耳其语' },
    { 'value': 'ukr', 'label': '乌克兰语' },
    { 'value': 'urd', 'label': '乌尔都语' },
    { 'value': 'uzn', 'label': '北乌兹别克语' },
    { 'value': 'vie', 'label': '越南语' },
    { 'value': 'xho', 'label': '科萨语' },
    { 'value': 'yor', 'label': '约鲁巴语' },
    { 'value': 'zlm', 'label': '马来语方言' },
    { 'value': 'zsm', 'label': '马来语' },
    { 'value': 'zul', 'label': '祖鲁语' }
  ];

  // textTarget = textSource
  List textSource = [
    { 'value': 'cmn', 'label': '汉语' },
    { 'value': 'eng', 'label': '英语' },
    { 'value': 'deu', 'label': '德语' },
    { 'value': 'fra', 'label': '法语' },
    { 'value': 'yue', 'label': '粤语' },
    { 'value': 'afr', 'label': '南非荷兰语' },
    { 'value': 'amh', 'label': '阿姆哈拉语' },
    { 'value': 'arb', 'label': '现代标准阿拉伯语' },
    { 'value': 'ary', 'label': '摩洛哥阿拉伯语' },
    { 'value': 'arz', 'label': '埃及阿拉伯语' },
    { 'value': 'asm', 'label': '阿萨姆语' },
    { 'value': 'azj', 'label': '北阿塞拜疆语' },
    { 'value': 'bel', 'label': '白俄罗斯语' },
    { 'value': 'ben', 'label': '孟加拉语' },
    { 'value': 'bos', 'label': '波斯尼亚语' },
    { 'value': 'bul', 'label': '保加利亚语' },
    { 'value': 'cat', 'label': '加泰罗尼亚语' },
    { 'value': 'ceb', 'label': '宿务语' },
    { 'value': 'ces', 'label': '捷克语' },
    { 'value': 'ckb', 'label': '中库尔德语' },
    { 'value': 'cym', 'label': '威尔士语' },
    { 'value': 'dan', 'label': '丹麦语' },
    { 'value': 'ell', 'label': '希腊语' },
    { 'value': 'est', 'label': '爱沙尼亚语' },
    { 'value': 'eus', 'label': '巴斯克语' },
    { 'value': 'fin', 'label': '芬兰语' },
    { 'value': 'gaz', 'label': '西中奥罗莫语' },
    { 'value': 'gle', 'label': '爱尔兰语' },
    { 'value': 'glg', 'label': '加利西亚语' },
    { 'value': 'guj', 'label': '古吉拉特语' },
    { 'value': 'heb', 'label': '希伯来语' },
    { 'value': 'hin', 'label': '印地语' },
    { 'value': 'hrv', 'label': '克罗地亚语' },
    { 'value': 'hun', 'label': '匈牙利语' },
    { 'value': 'hye', 'label': '亚美尼亚语' },
    { 'value': 'ibo', 'label': '伊博语' },
    { 'value': 'ind', 'label': '印尼语' },
    { 'value': 'isl', 'label': '冰岛语' },
    { 'value': 'ita', 'label': '意大利语' },
    { 'value': 'jav', 'label': '爪哇语' },
    { 'value': 'jpn', 'label': '日语' },
    { 'value': 'kan', 'label': '卡纳达语' },
    { 'value': 'kat', 'label': '格鲁吉亚语' },
    { 'value': 'kaz', 'label': '哈萨克语' },
    { 'value': 'khk', 'label': '哈尔哈蒙古语' },
    { 'value': 'khm', 'label': '高棉语' },
    { 'value': 'kir', 'label': '吉尔吉斯语' },
    { 'value': 'kor', 'label': '韩语' },
    { 'value': 'lao', 'label': '老挝语' },
    { 'value': 'lit', 'label': '立陶宛语' },
    { 'value': 'lug', 'label': '干达语' },
    { 'value': 'luo', 'label': '路奥语' },
    { 'value': 'lvs', 'label': '拉脱维亚语' },
    { 'value': 'mai', 'label': '迈蒂利语' },
    { 'value': 'mal', 'label': '马拉雅拉姆语' },
    { 'value': 'mar', 'label': '马拉地语' },
    { 'value': 'mkd', 'label': '马其顿语' },
    { 'value': 'mlt', 'label': '马耳他语' },
    { 'value': 'mni', 'label': '梅泰语' },
    { 'value': 'mya', 'label': '缅甸语' },
    { 'value': 'nld', 'label': '荷兰语' },
    { 'value': 'nno', 'label': '挪威尼诺斯克语' },
    { 'value': 'nob', 'label': '挪威博克马尔语' },
    { 'value': 'npi', 'label': '尼泊尔语' },
    { 'value': 'nya', 'label': '尼扬扎语' },
    { 'value': 'ory', 'label': '奥里亚语' },
    { 'value': 'pan', 'label': '旁遮普语' },
    { 'value': 'pbt', 'label': '南普什图语' },
    { 'value': 'pes', 'label': '西波斯语' },
    { 'value': 'pol', 'label': '波兰语' },
    { 'value': 'por', 'label': '葡萄牙语' },
    { 'value': 'ron', 'label': '罗马尼亚语' },
    { 'value': 'rus', 'label': '俄语' },
    { 'value': 'slk', 'label': '斯洛伐克语' },
    { 'value': 'slv', 'label': '斯洛文尼亚语' },
    { 'value': 'sna', 'label': '绍纳语' },
    { 'value': 'snd', 'label': '辛德语' },
    { 'value': 'som', 'label': '索马里语' },
    { 'value': 'spa', 'label': '西班牙语' },
    { 'value': 'srp', 'label': '塞尔维亚语' },
    { 'value': 'swe', 'label': '瑞典语' },
    { 'value': 'swh', 'label': '斯瓦希里语' },
    { 'value': 'tam', 'label': '泰米尔语' },
    { 'value': 'tel', 'label': '泰卢固语' },
    { 'value': 'tgk', 'label': '塔吉克语' },
    { 'value': 'tgl', 'label': '塔加拉语' },
    { 'value': 'tha', 'label': '泰语' },
    { 'value': 'tur', 'label': '土耳其语' },
    { 'value': 'ukr', 'label': '乌克兰语' },
    { 'value': 'urd', 'label': '乌尔都语' },
    { 'value': 'uzn', 'label': '北乌兹别克语' },
    { 'value': 'vie', 'label': '越南语' },
    { 'value': 'yor', 'label': '约鲁巴语' },
    { 'value': 'zsm', 'label': '马来语' },
    { 'value': 'zul', 'label': '祖鲁语' },
  ];

  List speechTarget = [
    { 'value': 'cmn', 'label': '汉语' },
    { 'value': 'eng', 'label': '英语' },
    { 'value': 'deu', 'label': '德语' },
    { 'value': 'fra', 'label': '法语' },
    { 'value': 'arb', 'label': '现代标准阿拉伯语' },
    { 'value': 'ben', 'label': '孟加拉语' },
    { 'value': 'cat', 'label': '加泰罗尼亚语' },
    { 'value': 'ces', 'label': '捷克语' },
    { 'value': 'cym', 'label': '威尔士语' },
    { 'value': 'dan', 'label': '丹麦语' },
    { 'value': 'est', 'label': '爱沙尼亚语' },
    { 'value': 'fin', 'label': '芬兰语' },
    { 'value': 'hin', 'label': '印地语' },
    { 'value': 'ind', 'label': '印尼语' },
    { 'value': 'ita', 'label': '意大利语' },
    { 'value': 'jpn', 'label': '日语' },
    { 'value': 'kor', 'label': '韩语' },
    { 'value': 'mlt', 'label': '马耳他语' },
    { 'value': 'nld', 'label': '荷兰语' },
    { 'value': 'pes', 'label': '西波斯语' },
    { 'value': 'pol', 'label': '波兰语' },
    { 'value': 'por', 'label': '葡萄牙语' },
    { 'value': 'ron', 'label': '罗马尼亚语' },
    { 'value': 'rus', 'label': '俄语' },
    { 'value': 'slk', 'label': '斯洛伐克语' },
    { 'value': 'spa', 'label': '西班牙语' },
    { 'value': 'swe', 'label': '瑞典语' },
    { 'value': 'swh', 'label': '斯瓦希里语' },
    { 'value': 'tel', 'label': '泰卢固语' },
    { 'value': 'tgl', 'label': '塔加拉语' },
    { 'value': 'tha', 'label': '泰语' },
    { 'value': 'tur', 'label': '土耳其语' },
    { 'value': 'ukr', 'label': '乌克兰语' },
    { 'value': 'urd', 'label': '乌尔都语' },
    { 'value': 'uzn', 'label': '北乌兹别克语' },
    { 'value': 'vie', 'label': '越南语' },
  ];

  getStore() async {
    HomeController.inLang.value =  await sysStore.getInLang();
    HomeController.outLang.value =  await sysStore.getOutLang();
    HomeController.postType.value =  await sysStore.getPostType();
    baseUrl.text = await sysStore.getBaseUrl();
  }

  @override
  Future<void> onInit() async {
    await getStore();
    super.onInit();
  }

  @override
  void onReady() {
    super.onReady();
  }

  @override
  void onClose() {
    super.onClose();
  }
}
